/* // 类的访问类型：public private protected
// public 允许在类的内外被调用，如果类中没有强调默认是允许在类内外部调用
// private 允许在类内部被使用
// protected 允许在类内以及在继承的子类中使用
// 所谓类的内部和类的外部表示的就是：在这个类的大括号的外面还是里面
// public
class Person {
    constructor(){
        name:'李白'
    }
    public name?: string; //public表示这个值在大括号外面和里面都是可以被调用的
    public sayHello() {
        console.log(this.name + '你好呀！');

    }
}
const person1 = new Person() //实例化这个类
person1.name = '李白'
person1.sayHello() //调用这个sayHello的方法
console.log(person1.name);
// private
class Person1 {
    private name?: string; //private表示这个值只有在大括号里面是可以被调用的
    public sayHello() {
        console.log(this.name + '你好呀！');

    }
}
const person2 = new Person() //实例化这个类
person2.name = '小李白'
person2.sayHello() //调用这个sayHello的方法
console.log(person2.name);
// protected
class Person3 {
    protected name?: string; //protected表示这个值在大括号里面是可以被调用的,并且可以被继承的子类使用
    public sayHello() {
        console.log(this.name + '你好呀！');
    }
}
class Person4 extends Person3{
    public sayHello(){
        this.name //此时这个name就是Person3中定义的name
    }
}


 */